package cn.exrick.xboot.modules.biddataproject.mapper;

import cn.exrick.xboot.modules.biddataproject.entity.*;
import cn.exrick.xboot.modules.projectinfo.entity.AllBoardData;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 招投标系统数据处理层
 * @author sdtf
 */
@DS("other")
public interface BidDataProtectMapper extends BaseMapper<BidDataProtect> {

    /**
     * 查找运营商年度相关数据
     */
    SelectData selectCountMoneyByOperator();
    /**
     * 查找运营商月度相关数据
     */
    SelectData selectCountMoneyByOperatorByMonth();

    /**
     * 查找集客年度相关数据
     */
    SelectData selectCountMoneyByGroup();
    /**
     * 查找集客月度相关数据
     */
    SelectData selectCountMoneyByGroupByMonth();

    /**
     * 年度合同排行
     */
    List<SelectData> selectBidYear();

    /**
     * 根据客户类型查询名称
     */
    String selectLabelByCustomerType(Integer customerType);

    /**
     * 月度合同排行
     */
    List<SelectData> selectBidMonth();

    /**
     * 最新中标项目
     */
    List<SelectData> selectNewBid();

    /**
     * 根据部门id查询部门名称
     */
    String selectDeptNameByDeptId(String deptId);

    /**
     * 查询各个运营商的合同总数占比
     */
    List<SelectData> selectCustomerTypeByOperator();

    /**
     * 查询各个集客的合同总数占比
     */
    List<SelectData> selectCustomerTypeByGroup();

    /**
     * 产业单位经营情况【数组】
     */
    List<SelectData> selectBidYear1();

    /**
     * 二级菜单路由： 合同签订数量，本年
     */
    List<TwoTableData> bidNumAndMoneyByYear();

    /**
     * 单位名称
     */
    List<TwoTableData> getdept();
    /**
     * 二级菜单路由： 合同签订数量，本年省内
     */
    List<TwoTableData> bidNumAndMoneyByYearInProvince();

    /**
     * 二级菜单路由： 运营商合同签订数量，本年
     */
    List<TwoTableData> bidNumAndMoneyByYearByYYS();
    /**
     * 二级菜单路由： 运营商合同签订数量，本年省内
     */
    List<TwoTableData> bidNumAndMoneyByYearByYYSInProvince();
    /**
     * 二级菜单路由： 集客合同签订数量，本年省内
     */
    List<TwoTableData> bidNumAndMoneyByYearByJKInProvince();
    /**
     * 二级菜单路由： 集客合同签订数量，本年省外
     */
    List<TwoTableData> bidNumAndMoneyByYearByJKOutProvince();
    /**
     * 二级菜单路由： 合同签订数量，本月
     */
    List<TwoTableData> bidNumAndMoneyByMonth();

    List<TwoTableData> bidNumAndMoneyByYearInProvinceByMonth();

    List<TwoTableData> bidNumAndMoneyByYearByYYSByMonth();

    List<TwoTableData> bidNumAndMoneyByYearByYYSInProvinceByMonth();

    List<TwoTableData> bidNumAndMoneyByYearByJKInProvinceByMonth();

    List<TwoTableData> bidNumAndMoneyByYearByJKOutProvinceByMonth();

    SelectData seleteNumberMoneyByYear();

    SelectData seleteNumberMoneyByMonth();

    List<ProjectDeptList> getProjectDeptlist();

    List<ProjectDeptList> getAnalysis(@Param("typeList") List<String> typeList);

    List<ProjectDeptList> getAnalysisMonth(@Param("typeList") List<String> typeList);

    List<ProjectDeptList> getBidList();

    List<ProjectDeptList> getBidList1();

    List<ProjectDeptList> getAnalysisYears(@Param("typeList") List<String> typeList, @Param("i") Integer i);

    List<ProjectDeptList> getCustomerRanking(@Param("typeList") List<String> typeList);

    List<ProjectDeptList> getCustomerRankingMonth(@Param("typeList") List<String> typeList);

    /**
     * 投标，中标，合同信息
     */
    List<AllBoardData> selectDept();

    List<AllBoardData> selectTBNumber();

    List<AllBoardData> selectZBNumber();

    List<AllBoardData> selectHTQDNumber();


}